/*
 * Copyright (c) 2021 com.youkeyi. All rights reserved.
 *
 *  @author liuxiawang
 *  @location Shenzhen.China
 *  @date 3/29/21 11:10 PM
 */
package com.youkeyi.ddy.cloud.common.constant;

/**
 * 系统常量
 *
 * @Author liuxiawang
 * @Date 2021-03-5 23:37
 * @Location shenzhen.china
 */
public class YoukeyiDdyCloudBasicPublicConstant {

    // 是否
    public static final ConstantContainer<Integer> SYSTEM_YES_OR_NO = new ConstantContainer<>();
    public static final ConstantValue<Integer> SYSTEM_YES_OR_NO_NO = new ConstantValue<>(0, "启用", SYSTEM_YES_OR_NO);
    public static final ConstantValue<Integer> SYSTEM_YES_OR_NO_YES = new ConstantValue<>(1, "是", SYSTEM_YES_OR_NO);
    public static final ConstantValue<Integer> SYSTEM_YES_OR_NO_DISABLE = new ConstantValue<>(2, "禁用", SYSTEM_YES_OR_NO);

    // 用户角色
    public static final ConstantContainer<String> USER_ROLE = new ConstantContainer<>();
    public static final ConstantValue<String> USER_ROLE_ADMIN = new ConstantValue<>("admin", "管理员", USER_ROLE);
    public static final ConstantValue<String> USER_ROLE_USER = new ConstantValue<>("user", "用户", USER_ROLE);


    public static final ConstantContainer<String> PUBLIC_MAPPING_KEY_TYPE = new ConstantContainer<>();
    public static final ConstantValue<String> PUBLIC_MAPPING_KEY_TYPE_SOURCE = new ConstantValue<>("source", "源", PUBLIC_MAPPING_KEY_TYPE);
    public static final ConstantValue<String> PUBLIC_MAPPING_KEY_TYPE_TARGET = new ConstantValue<>("target", "目标", PUBLIC_MAPPING_KEY_TYPE);
    // public mapping type
    public static final ConstantContainer<String> PUBLIC_MAPPING_TYPE = new ConstantContainer<>();
    public static final ConstantValue<String> PUBLIC_MAPPING_TYPE_ORGANIZATION_SERVER = new ConstantValue<>("ORGANIZATION_SERVER", "组织与服务的映射", PUBLIC_MAPPING_TYPE);
    public static final ConstantValue<String> PUBLIC_MAPPING_TYPE_POSITION_AUTH = new ConstantValue<>("POSITION_AUTH", "岗位与权限的映射", PUBLIC_MAPPING_TYPE);
    public static final ConstantValue<String> PUBLIC_MAPPING_TYPE_MENU_AUTH = new ConstantValue<>("MENU_AUTH", "菜单与权限的映射", PUBLIC_MAPPING_TYPE);
    public static final ConstantValue<String> PUBLIC_MAPPING_TYPE_USER_POSITION = new ConstantValue<>("USER_POSITION", "用户与岗位的映射", PUBLIC_MAPPING_TYPE);
    public static final ConstantValue<String> PUBLIC_MAPPING_TYPE_TAG_TARGET = new ConstantValue<>("TAG_TARGET", "标签与目标的映射", PUBLIC_MAPPING_TYPE);
    public static final ConstantValue<String> PUBLIC_MAPPING_TYPE_CORP_MENU = new ConstantValue<>("CORP_MENU", "主体与菜单的映射", PUBLIC_MAPPING_TYPE);
    public static final ConstantValue<String> PUBLIC_MAPPING_TYPE_HRCORP_CORP = new ConstantValue<>("HRCORP_CORP", "人事主体与其他主体的映射", PUBLIC_MAPPING_TYPE);

    // 主体类型 （0 客服、1顾问、2服务 3 财务 4 医疗 5 诊所 6 人事 7 总务 8 其他 ）
    public static final ConstantContainer<Integer> PUBLIC_CORP_CATEGORY = new ConstantContainer<>();
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_0 = new ConstantValue<>(0, "客服", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_1 = new ConstantValue<>(1, "顾问", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_2 = new ConstantValue<>(2, "服务", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_3 = new ConstantValue<>(3, "财务", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_4 = new ConstantValue<>(4, "医疗", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_5 = new ConstantValue<>(5, "诊所", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_6 = new ConstantValue<>(6, "人事", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_7 = new ConstantValue<>(7, "总务", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_8 = new ConstantValue<>(8, "化验所", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_9 = new ConstantValue<>(9, "市场部", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_10 = new ConstantValue<>(10, "驻深办", PUBLIC_CORP_CATEGORY);
    public static final ConstantValue<Integer> PUBLIC_CORP_CATEGORY_11 = new ConstantValue<>(11, "其他", PUBLIC_CORP_CATEGORY);


    // 主体类型 （0 客服、1顾问、2服务 3 财务 4 医疗 5 诊所 6 人事 7 总务 8 其他 ）
    public static final ConstantContainer<Integer> PUBLIC_CORP_TYPE = new ConstantContainer<>();
    public static final ConstantValue<Integer> PUBLIC_CORP_TYPE_0 = new ConstantValue<>(0, "客服", PUBLIC_CORP_TYPE);
    public static final ConstantValue<Integer> PUBLIC_CORP_TYPE_1 = new ConstantValue<>(1, "顾问", PUBLIC_CORP_TYPE);
    public static final ConstantValue<Integer> PUBLIC_CORP_TYPE_2 = new ConstantValue<>(2, "服务", PUBLIC_CORP_TYPE);
    public static final ConstantValue<Integer> PUBLIC_CORP_TYPE_3 = new ConstantValue<>(3, "财务", PUBLIC_CORP_TYPE);
    public static final ConstantValue<Integer> PUBLIC_CORP_TYPE_4 = new ConstantValue<>(4, "其他", PUBLIC_CORP_TYPE);

    // 主体类型
    public static final ConstantContainer<Integer> PUBLIC_CORP_AUTH_TYPE = new ConstantContainer<>();
    public static final ConstantValue<Integer> PUBLIC_CORP_AUTH_TYPE_0 = new ConstantValue<>(0, "订阅", PUBLIC_CORP_AUTH_TYPE);
    public static final ConstantValue<Integer> PUBLIC_CORP_AUTH_TYPE_1 = new ConstantValue<>(1, "续费", PUBLIC_CORP_AUTH_TYPE);
    public static final ConstantValue<Integer> PUBLIC_CORP_AUTH_TYPE_2 = new ConstantValue<>(2, "永久", PUBLIC_CORP_AUTH_TYPE);


    // public mapping type
    public static final ConstantContainer<String> PUBLIC_AUTH_TYPE = new ConstantContainer<>();
    public static final ConstantValue<String> PUBLIC_AUTH_TYPE_PUBLIC = new ConstantValue<>("public", "公共的", PUBLIC_AUTH_TYPE);
    public static final ConstantValue<String> PUBLIC_AUTH_TYPE_PRIVATE = new ConstantValue<>("private", "私有的", PUBLIC_AUTH_TYPE);

    // 代办类型
    public static final ConstantContainer<String> PUBLIC_TODO_TYPE = new ConstantContainer<>();
    public static final ConstantValue<String> PUBLIC_TODO_TYPE_REMIND = new ConstantValue<>("remind", "提醒", PUBLIC_TODO_TYPE);
    public static final ConstantValue<String> PUBLIC_TODO_TYPE_APPROVAL_APPROVAL = new ConstantValue<>("approval-approval", "审批", PUBLIC_TODO_TYPE);
    public static final ConstantValue<String> PUBLIC_TODO_TYPE_APPROVAL_CC = new ConstantValue<>("approval-cc", "抄送", PUBLIC_TODO_TYPE);

}
